-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: support TraceBWConfig #13
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have roughly reviewed the updates. Please fix the CI errors and some changes requested, and I will review it again. Also, please click resolve conversation
for any completed requested change and at me when the pr is ready.
92eef13
to
3077d6b
Compare
3077d6b
to
ee63536
Compare
bd77f13
to
c37a62a
Compare
I think it is done.@BobAnkh |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Most of the codes are well, only two small changes are requested (the other is the name of function).
47c8517
to
5899737
Compare
I have solved them. @BobAnkh |
Description
Support a new kind of Bandwidth Trace that is more expressive and compact than
mahimahi
trace and can be replayed by rattan.An example:
denotes a (repeated) sequence of
.
Also, provide the funtion
build_truncated
forNormalBwConfig
, where the impact of truncation (lower_bound
andupper_bound
field) on the mathematical expectation of the distribution is taking account by modifing the center of the distribution.For example (as shown in the doc test), if we define a NormalBw with both a mean and std_dev of 12Mbps, lowerbound of 0 and no upperbound, under the random seed of 42, the average bandwidth of 100,000 samples are 12.97Mbps by the original
build
and 11.98Mbps by the newbuild_truncated
.How Has This Been Tested
Doc test has been wirtten to test the changes. The changes are incremental functions, structs, mods, and will not affect the other areas of the code.
Types of changes
New feature (non-breaking change which adds functionality)
Checklist
Other information